
package com.xtsoft.platform.base.system.service;


import com.xtsoft.core.service.GenericService;
import com.xtsoft.core.utils.ResultMsg;
import com.xtsoft.platform.base.system.domain.SysRole;
import com.xtsoft.platform.base.system.repository.SysRoleRepository;

import java.text.ParseException;
import java.util.List;


public interface SysRoleService extends GenericService<SysRole,String, SysRoleRepository> {
	
	/**
	 * 
	 * <p> 根据用户ID获取带Check的角色  </p>  
	 * @param userId
	 * @return
	 * @throws ParseException
	 * @return String
	 * @throws  
	 * @author defencez  
	 * @date 2020年5月9日 
	 * @time 下午2:24:09
	 */
	public String getRoleTree(String userId) throws ParseException;
	/**
	 * 
	 * <p> 角色授权  </p>  
	 * @param roleId
	 * @param ids，资源ID集合
	 * @return
	 * @return String
	 * @throws  
	 * @author defencez  
	 * @date 2020年5月9日 
	 * @time 下午2:23:57
	 */
	public String impower(String roleId,String resourceId, String ids);
	/**
	 * 
	 * <p>  删除角色，连带删除角色与资源、角色与用户的关联关系   </p>  
	 * @param id
	 * @return Integer   
	 * @throws  
	 * @author defencez  
	 * @date 2020年5月31日 下午11:38:47
	 */
	public void deleteByRoleId(String id);
	/**
	 * 
	 * <p>根据状态和角色查询角色   </p>  
	 * @param alias
	 * @param state
	 * @return
	 * @return SysRole
	 * @throws  
	 * @author litao
	 * @date 2020年8月17日 
	 * @time 下午6:12:54
	 */
	public List<SysRole> findByAliasAndState(String alias, int state);
	
	/**
	 * 
	 * <p> 分配仪表盘  </p>  
	 * @param ids
	 * @param roleId
	 * @return
	 * @return ResultMessage
	 * @throws  
	 * @author litao
	 * @date 2021年9月27日 
	 * @time 上午10:26:24
	 */
	public ResultMsg configDashBoard(String ids, String roleId);
	
}



